package com.tuozixuan.user.controller;

import java.util.List;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import cn.dev33.satoken.stp.StpUtil;

@RestController
@RequestMapping("/permission/")
public class PermissionController {

    @GetMapping("getPermissionList")
    public List<String> getPermissionList() {
        // 获取：当前账号所拥有的权限集合
        return StpUtil.getPermissionList();
    }
    
    @GetMapping("hasPermission")
    public boolean hasPermission(String permission) {
        // 判断：当前账号是否含有指定权限, 返回 true 或 false
        return StpUtil.hasPermission(permission);
    }
    
    @GetMapping("checkPermission")
    public void checkPermission(String permission) {
    	// 校验：当前账号是否含有指定权限, 如果验证未通过，则抛出异常: NotPermissionException 
        StpUtil.checkPermission(permission);
    }
    
    @GetMapping("checkPermissionAnd")
    public void checkPermissionAnd(String[] permissions) {
    	// 校验：当前账号是否含有指定权限 [指定多个，必须全部验证通过]
        StpUtil.checkPermissionAnd(permissions);
    }
    
    @GetMapping("checkPermissionOr")
    public void checkPermissionOr(String[] permissions) {
    	// 校验：当前账号是否含有指定权限 [指定多个，只要其一验证通过即可]
        StpUtil.checkPermissionOr(permissions);
    }
}
